runtime messages
To interrogate or control a grid at runtime, GuiDesigner and your program send a message
to the grid, just like window functions do:
XuiSendMessage ( grid, message, v0, v1, v2, v3, kid, r1 )
XuiSendMessage ( grid, message, v0, v1, v2, v3, kid, r1$ )
XuiSendMessage ( grid, message, v0, v1, v2, v3, kid, r1$[] )
grid,kid are the grid number of the base grid and the kid within it the message is sent
to. kid=0 designates the base grid. message is the message sent to grid,kid .
v0,v1,v2,v3,r1,r1$,r1$[] are values passed to the grid function in support of message .
For many messages, some or all of these arguments are undefined. 0 must be passed for all
undefined arguments. For some messages one or more of these arguments are assigned return
values by the grid function. To receive a return value the calling function must pass a
variable by reference.
example
For example your program can change the text string on the left XuiPushButton kid in a
XuiDialog3B grid as follows:
XuiSendMessage ( grid, #SetTextString, 0, 0, 0, 0, 3, @" Hide " )
XuiSendMessage ( grid, #Redraw, 0, 0, 0, 0, 3, 0 )
grid contains the grid number of the XuiDialog3B grid.
#SetTextString is the message number variable that tells grids to set their text string to
the value in the r1$ argument.
v0,v1,v2,v3 are undefined in SetTextString messages, so they contain 0.
kid=3 designates the left pushbutton in XuiDialog3B grids. Kids are numbered from zero,
starting with the base grid itself, followed by its kids in the order created or as sorted
by Grid SortKids:
kid #0 = Dialog3B
kid #1 = Label
kid #2 = TextLine
kid #3 = LeftButton
kid #4 = CenterButton
kid #5 = RightButton
r1$ contains the text string referred to by the #SetTextString message. Since only the
final argument of grid functions can receive non - XLONG values, text strings are always
passed in r1$ . Numeric arguments are passed in as many of the v0,v1,v2,v3,r1 arguments as
necessary.